home *** CD-ROM | disk | FTP | other *** search
/ S1M0NE Press Kit / S1M0NE Press Kit.iso / pc / intro.dxr / 00002_XYZ Rotate.ls < prev    next >
Encoding:
Text File  |  2002-07-09  |  1.3 KB  |  52 lines

  1. property pS, cX, cY, r, deg, pPlane
  2.  
  3. on getPropertyDescriptionList
  4.   description = [:]
  5.   addProp(description, #pPlane, [#default: EMPTY, #format: #string, #comment: "XZ Plane:", #range: ["X", "Z"]])
  6.   return description
  7. end
  8.  
  9. on beginSprite me
  10.   pS = me.spriteNum
  11.   cX = sprite(pS).locH
  12.   cY = sprite(pS).locV
  13.   r = sprite(pS).width / 2
  14.   deg = 0
  15. end
  16.  
  17. on exitFrame me
  18.   if deg >= 360 then
  19.     deg = 0
  20.   end if
  21.   shallow = 10
  22.   t = (deg + 0) * PI / 180
  23.   x1 = cX + (r * cos(t))
  24.   y1 = r * sin(t) / shallow
  25.   t = (deg + 90) * PI / 180
  26.   x2 = cX + (r * cos(t))
  27.   y2 = r * sin(t) / shallow
  28.   t = (deg + 180) * PI / 180
  29.   x3 = cX + (r * cos(t))
  30.   y3 = r * sin(t) / shallow
  31.   t = (deg + 270) * PI / 180
  32.   x4 = cX + (r * cos(t))
  33.   y4 = r * sin(t) / shallow
  34.   case pPlane of
  35.     "X":
  36.       qList = sprite(pS).quad
  37.       qList[1] = point(x2, cY - (r / 2) - y1)
  38.       qList[2] = point(x4, cY - (r / 2) + y1)
  39.       qList[3] = point(x4, cY + (r / 2) - y1)
  40.       qList[4] = point(x2, cY + (r / 2) + y1)
  41.       sprite(pS).quad = qList
  42.     "Z":
  43.       qList = sprite(pS).quad
  44.       qList[1] = point(x3, cY - (r / 2) + y1)
  45.       qList[2] = point(x1, cY - (r / 2) - y1)
  46.       qList[3] = point(x1, cY + (r / 2) + y1)
  47.       qList[4] = point(x3, cY + (r / 2) - y1)
  48.       sprite(pS).quad = qList
  49.   end case
  50.   deg = deg + 1
  51. end
  52.